#pragma once

/*
	A area cell represents a tile on the area map, and is as zoomed-in as you get.
*/

#include "../../Math/Vec2i.h"
#include <memory>

namespace World
{
	class Area;
	typedef std::shared_ptr<Area> AreaPtr;

	class AreaCellData
	{
	public:
		bool visited;
		bool canFastTravel;
	};
	typedef std::unique_ptr<AreaCellData> AreaCellDataUPtr;

	class AreaCell
	{
	public:
		AreaCell();
		~AreaCell();

	private:
		AreaCellDataUPtr data;
	};
}
